The present invention relates generally to analog to digital conversion and control systems and more particularly to programmable, configurable analog to digital conversion within a controller area network.
Message-based networks are used in a variety of control networks. In a message-based network, all nodes within the network are connected to a common bus. Each node is also connected to peripheral devices and performs one or more functions. The functions may be, for example: monitoring conditions of peripheral devices, such as their electrical outputs, temperature, position or velocity; controlling and stimulating inputs to the peripheral devices; transmitting data messages concerning the peripheral devices over the common bus; and requesting data from other nodes over the common bus.
In a message-based network, messages are transmitted to all nodes in the network. Each node must then determine whether to accept and process a message or ignore the message. This is different from an address based network in which messages may be transmitted to a specific node based on the address of that node. The message-based communication between the nodes allows coordinated control of many control nodes within the system. Messages types conventionally include data messages, remote data request messages, error messages and overload error messages.
Message-based networks are implemented in a wide variety of applications, including industrial automation, automotive/truck, medical equipment, test equipment and mobile machines. It will be appreciated that many of these networks are complex and require numerous nodes in order to control the numerous peripheral devices required to implement a system. For example, in an automobile application, hundreds of nodes may be required to monitor and control the engine, safety systems, security systems, sensors, signals, lights, buttons, electric motors, radio and other peripherals. For this reason, it is desirable to minimize the cost of each node.
Conventionally, it has been expensive to implement nodes in message-based networks. The expense has limited the range of applications to which message-based networks would otherwise be applied. The reasons for the high cost per node include that conventionally, relatively expensive devices such as microcontrollers are used to connect peripheral devices to the common bus. These devices often have much more processing capability than is required to control or monitor the peripheral devices.
There is a need for a new device for use in nodes of message-based networks. The device should be configurable allowing it to be implemented in a wide variety of applications to keep per unit costs of production low. There is a further need for a new device that can be programmed with a default configuration after manufacture of the device and at late as while the device is attached in its intended operating environment.
According to the present invention, in-line serial programming of a default configuration into a device for connection to a message-based network is accomplished. Programming signals may be applied to the device during a programming mode on the same pins that are later used in an operative mode of the device. Data conveyed during the programming may be conveyed serially through a single data pin to minimize the number of pins used to program the device. Also, the device pins used during programming may be isolated from other devices within a system using elements such as resistors. This allows devices for connection to a message-based network to be programmed with a default configuration at the last momentxe2x80x94while they are implemented within an intended system.
According to an embodiment of the present invention, a configurable device for message-based network communication includes an input/output unit, an electrically programmable read only memory (EPROM), programming logic and a protocol engine. The input/output unit includes pins for connecting the configurable device to a system. The input/output unit also includes logic for configuring a portion of the pins to operate in both a normal mode and as a clock pin, a data pin and a program pin in a programming mode. The electrically programmable read only memory (EPROM) stores a default configuration for the configurable device. The programming logic is coupled to the input/output unit. It receives signals from the data, clock and program pins and determines data and commands based on the signals. The programming logic also executes the commands to program the data, which comprises the default configuration, into the EPROM. The protocol engine exchanges messages with a message-based bus based on the default configuration.
To accomplish in-line serial programming, the data, clock and program pins of the configurable device are switchably isolated from other devices in the system by a resistor. In another embodiment of the invention, the programming logic of the device includes a shift register coupled to the clock and data signals for serially clocking in the data. The programming logic may further include a command register coupled to the clock and data signals for serially clocking in at least one of the commands. During programming, the program pin receives a programming voltage to initiate programming that is greater in amplitude than the voltage level of a power signal applied to the configurable device.
In still another embodiment, the configurable device further includes a volatile memory for storing the default configuration as an alterable configuration upon application of power to the device in a normal operating mode. Configuration registers within the volatile memory store at least a portion of the alterable configuration. Modules on the device are coupled to the volatile memory. The alterable configuration stored in the configuration registers is used to configure operation of at least one of the modules. The modules may include the input/output unit, the protocol engine and an analog to digital converter. The protocol engine may be a controller area network (CAN) protocol engine.
According to another embodiment of the present invention, a method of configuring a device for message-based network communication includes providing pins for connecting the configurable device to a system. A portion of the pins operate in both a normal mode and as a clock pin, a data pin and a program pin in a programming mode. The device receives clock, data and programming signals from the clock, data and programming pins. The device determines data and programming commands and discerns one from the other based on the data, clock and programming signals. The device then executes the commands to program the data, which comprises the default configuration, into an EPROM.
The device and method according to the present invention may be incorporated within a cost effective node for connecting to a message-based bus. The configuration of the device and method may be set to a default configuration and then reconfigured on the fly via messages from the message-based bus. Using these features, it is possible to create xe2x80x98standardxe2x80x99 nodes that are configurable at the last moment and that self configure on power up. The standard nodes can then be modified via the message-based bus as needed. These standard nodes can be mass produced and embodied in simple, cost effective devices thus significantly expanding the range of systems in which message-based networks such as the controller area network (CAN) can be implemented.